package com.china08.yxyapi.entity.mg.attendance;

import java.util.Date;

import javax.persistence.Id;

import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import com.china08.yxyapi.entity.mg.MongoBaseEntityNoId;

/**
 * 学生到班考勤
 *
 */
@SuppressWarnings("serial")
@Document(collection = "yxy.stu.attendance.attendance")
public class YxyStuAttendance extends MongoBaseEntityNoId {

    /**
     * 每一个学生,每天生成一条数据 学生id+日期 (例如: 394342342343_20170426)
     */
    @Id
    private String id;

    /**
     * 学生id
     */
    @Field(value = "student_id")
    private String studentId;

    /**
     * 学生名称
     */
    @Field(value = "student_name")
    private String studentName;

    /**
     * 头像
     */
    @Field(value = "avatar")
    private String avatar;

    /** 学号 */
    @Field(value = "student_no")
    private Long studentNo;

    /**
     * 班级id
     */
    @Field(value = "class_id")
    private String classId;

    /**
     * 班级名称
     */
    @Field(value = "class_name")
    private String className;

    /**
     * 学校id
     */
    @Field(value = "school_id")
    private String schoolId;

    /**
     * 学校名称
     */
    @Field(value = "school_name")
    private String schoolName;

    /**
     * 签到状态 (0-未签到、1-已签到 )
     */
    @Field(value = "sign_in_status")
    private Integer signInStatus = 0;

    /**
     * 签到时间
     */
    @Field(value = "sign_in_date")
    private Date signInDate;

    /**
     * 签退状态 (0-未签退、1-已离校 )
     */
    @Field(value = "sign_out_status")
    private Integer signOutStatus = 0;

    /**
     * 签退时间
     */
    @Field(value = "sign_out_date")
    private Date signOutDate;

    /**
     * 检查状态, (正常、关注、服药、未晨检)
     */
    @Field(value = "inspection")
    private String inspection;

    /**
     * 检查时间
     */
    @Field(value = "inspecton_date")
    private Date inspectionDate;

    /**
     * 签到班级状态(0-未到班、1-已到班 )
     */
    @Field(value = "sign_class")
    private Integer signClass;

    /**
     * 到班时间
     */
    @Field(value = "sign_class_date")
    private Date signClassDate;

    /** The day date. 20170426 */
    @Field(value = "day_date")
    private Integer dayDate;

    /**
     * 201704
     */
    @Field(value = "month_date")
    private Integer monthDate;

    /**
     * 2017
     */
    @Field(value = "year_date")
    private Integer yearDate;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getClassId() {
        return classId;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public Integer getSignInStatus() {
        return signInStatus;
    }

    public void setSignInStatus(Integer signInStatus) {
        this.signInStatus = signInStatus;
    }

    public Date getSignInDate() {
        return signInDate;
    }

    public void setSignInDate(Date signInDate) {
        this.signInDate = signInDate;
    }

    public Date getSignOutDate() {
        return signOutDate;
    }

    public void setSignOutDate(Date signOutDate) {
        this.signOutDate = signOutDate;
    }

    public String getInspection() {
        return inspection;
    }

    public void setInspection(String inspection) {
        this.inspection = inspection;
    }

    public Integer getSignClass() {
        return signClass;
    }

    public void setSignClass(Integer signClass) {
        this.signClass = signClass;
    }

    public Date getSignClassDate() {
        return signClassDate;
    }

    public void setSignClassDate(Date signClassDate) {
        this.signClassDate = signClassDate;
    }

    public Integer getDayDate() {
        return dayDate;
    }

    public void setDayDate(Integer dayDate) {
        this.dayDate = dayDate;
    }

    public Integer getMonthDate() {
        return monthDate;
    }

    public void setMonthDate(Integer monthDate) {
        this.monthDate = monthDate;
    }

    public Integer getYearDate() {
        return yearDate;
    }

    public void setYearDate(Integer yearDate) {
        this.yearDate = yearDate;
    }

    public Integer getSignOutStatus() {
        return signOutStatus;
    }

    public void setSignOutStatus(Integer signOutStatus) {
        this.signOutStatus = signOutStatus;
    }

    public Long getStudentNo() {
        return studentNo;
    }

    public void setStudentNo(Long studentNo) {
        this.studentNo = studentNo;
    }

    public Date getInspectionDate() {
        return inspectionDate;
    }

    public void setInspectionDate(Date inspectionDate) {
        this.inspectionDate = inspectionDate;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

}
